/**
 * 获取用户资料
 * 假设 req.user 已由 Token 中间件注入
 */
exports.getProfile = (req, res) => {
    // 1. 从 req.user 获取用户 ID
    const userId = req.user.id;

    // 2. 调用 Service 层查询数据库
    // user = await UserService.findById(userId);

    // 3. 返回响应
    res.status(200).send({
        message: '用户资料获取成功',
        user: { id: userId, username: '示例用户' },
    });
};

/**
 * 更新用户资料
 */
exports.updateProfile = (req, res) => {
    // 逻辑：校验 req.body -> 调用 Service 层更新 -> 返回成功
    res.status(200).send({ message: '用户资料更新成功' });
};

/**
 * 修改密码
 */
exports.changePassword = (req, res) => {
    // 逻辑：校验旧密码 -> 校验新密码复杂度 -> 调用 Service 层更新并加密 -> 返回成功
    res.status(200).send({ message: '密码修改成功' });
};

/**
 * 获取用户操作日志
 */
exports.getUserLogs = (req, res) => {
    // 逻辑：调用 Service 层查询用户相关日志记录 -> 返回列表
    res.status(200).send({ message: '用户日志获取成功', logs: [] });
};

/**
 * 文件上传
 */
exports.uploadAvatar = (req, res) => {
    if (!req.file) {
        return res.status(400).send({ message: '未检测到上传文件' });
    }

    // 文件信息在 req.file 中
    const filePath = req.file.path;

    // 1. 将文件路径保存到数据库中的用户记录
    // await UserService.updateAvatar(req.user.id, filePath);

    // 2. 返回文件访问路径或成功信息
    res.status(200).send({
        message: '头像上传成功',
        filePath: filePath, // 示例: 'uploads/avatar-1678888888-1234.png'
        fileUrl: `/uploads/${req.file.filename}`, // 如果您在 app.js 中配置了静态服务
    });
};
